package com.yh.ldzl.mapper;

import java.util.List;
import java.util.Map;

import com.yh.ldzl.domain.QcOqc;
import org.apache.ibatis.annotations.Param;

/**
 * 出货检验单Mapper接口
 * 
 * @author yanghuai
 * @date 2025-07-13
 */
public interface QcOqcMapper 
{
    /**
     * 查询出货检验单
     * 
     * @param oqcId 出货检验单主键
     * @return 出货检验单
     */
    public QcOqc selectQcOqcByOqcId(Long oqcId);

    /**
     * 查询出货检验单列表
     * 
     * @param qcOqc 出货检验单
     * @return 出货检验单集合
     */
    public List<QcOqc> selectQcOqcList(QcOqc qcOqc);

    /**
     * 新增出货检验单
     * 
     * @param qcOqc 出货检验单
     * @return 结果
     */
    public int insertQcOqc(QcOqc qcOqc);

    /**
     * 修改出货检验单
     * 
     * @param qcOqc 出货检验单
     * @return 结果
     */
    public int updateQcOqc(QcOqc qcOqc);

    /**
     * 删除出货检验单
     * 
     * @param oqcId 出货检验单主键
     * @return 结果
     */
    public int deleteQcOqcByOqcId(Long oqcId);

    /**
     * 批量删除出货检验单
     * 
     * @param oqcIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteQcOqcByOqcIds(Long[] oqcIds);
    /**
     * 根据QCID查询出货检验单
     *
     * @param source_doc_id QCID
     * @return 出货检验单集合
     */
    public QcOqc selectQcOqcListSourceDocId(@Param("source_doc_id") Long source_doc_id);


    public List<Map<String,Object>> selectCkProductSales(@Param("sales_code") String sales_code,@Param("sales_name") String sales_name);

    public int updateCkProductSalesLineStatus(@Param("line_id") Long line_id,@Param("status") String status,@Param("oqc_id") Long oqc_id);

    Long selectCkProductSalesLineId(@Param("sales_id") Long sales_id,@Param("product_id") Long product_id);
    public Integer selectCkProductSalesTestResults(@Param("sales_id") Long sales_id);
}
